# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (C) Sunplus Co., Ltd. 2021
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/spi-sunplus-sp7021.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Sunplus sp7021 SPI controller

allOf:
  - $ref: spi-controller.yaml

maintainers:
  - Li-hao Kuo <lhjeff911@gmail.com>

properties:
  compatible:
    enum:
      - sunplus,sp7021-spi

  reg:
    items:
      - description: the SPI master registers
      - description: the SPI slave registers

  reg-names:
    items:
      - const: master
      - const: slave

  interrupt-names:
    items:
      - const: dma_w
      - const: master_risc
      - const: slave_risc

  interrupts:
    minItems: 3

  clocks:
    maxItems: 1

  resets:
    maxItems: 1

required:
  - compatible
  - reg
  - reg-names
  - interrupts
  - interrupt-names
  - clocks
  - resets
  - pinctrl-names
  - pinctrl-0

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    spi@9c002d80 {
        compatible = "sunplus,sp7021-spi";
        reg = <0x9c002d80 0x80>, <0x9c002e00 0x80>;
        reg-names = "master", "slave";
        interrupt-parent = <&intc>;
        interrupt-names = "dma_w",
                          "master_risc",
                          "slave_risc";
        interrupts = <144 IRQ_TYPE_LEVEL_HIGH>,
                     <146 IRQ_TYPE_LEVEL_HIGH>,
                     <145 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&clkc 0x32>;
        resets = <&rstc 0x22>;
        pinctrl-names = "default";
        pinctrl-0 = <&pins_spi0>;
    };
...
